const state_of_country_id = {
  str: "[('country_id', '=?', country_id)]",
  domain: [['country_id', '=?', { field_country_id: {} }]]
}

const state_of_country = {
  str: "[('country_id', '=?', country)]",
  domain: [['country_id', '=?', { field_country: {} }]]
}

const hr_state_of_country_id = {
  str: "[('country_id', '=?', private_country_id)]",
  domain: [['country_id', '=?', { field_private_country_id: {} }]]
}

const hr_bank_account_id = {
  str: "[('partner_id', '=', work_contact_id), '|', ('company_id', '=', False), ('company_id', '=', company_id)]",
  domain: [
    ['partner_id', '=', { field_work_contact_id: {} }],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const of_company_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ field_company_id: {} }]]
  ]
}

const of_company_id0 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('company_id', '=', company_id)])",
  domain: [...of_company_id.domain]
}

const of_company_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ field_company_id: {} }]]
  ]
}

const of_company_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + (['|', ('company_id', '=', False), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const of_company_id3 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + (['|', ('company_id', '=', False), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const of_company_id_as_parent = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'parent_of', [{ field_company_id: {} }]]
  ]
}

const of_company_id_as_parent1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'parent_of', [{ field_company_id: {} }]]
  ]
}

const of_company_id_as_parent2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('company_id', '=', company_id)])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'parent_of', [{ field_company_id: {} }]]
  ]
}

const of_company_id_as_parent_and_company_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('company_id', '=', company_id)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const payment_partner_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + (['|', ('parent_id','=', False), ('is_company','=', True)])",
  domain: [
    ...of_company_id.domain,
    '|',
    ['parent_id', '=', false],
    ['is_company', '=', true]
  ]
}

const payment_partner_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + (['|', ('parent_id','=', False), ('is_company','=', True)])",
  domain: [
    ...of_company_id.domain,
    '|',
    ['parent_id', '=', false],
    ['is_company', '=', true]
  ]
}

const sale_partner_id = {
  // domain="[('type', '!=', 'private'), ('company_id', 'in', (False, company_id))]")
  //   [('company_id', 'in', (False, company_id))]

  str: "[('company_id', 'in', (False, company_id))]",
  domain: [
    // ['type', '!=', 'private'],
    ['company_id', 'in', [false, { field_company_id: {} }]]
  ]
}

const sale_partner_invoice_id = {
  str: "['|', ('company_id', '=', False), ('company_id', '=', company_id)]",
  domain: [
    [
      '|',
      ['company_id', '=', false],
      ['company_id', '=', { field_company_id: {} }]
    ]
  ]
}

const user_id_in_crm = {
  str: "(company_id and [('company_ids', 'in', [company_id])] or []) + ([])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_ids', 'in', [{ field_company_id: {} }]]
  ]
}

const member_ids_in_crm = {
  str: "['&', ('share', '=', False), ('company_ids', 'in', member_company_ids)]",
  domain: [
    '&',
    ['share', '=', false],
    ['company_ids', 'in', { field_member_company_ids: {} }]
  ]
}

const supplierinfo_product_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('product_tmpl_id', '=', product_tmpl_id)] if product_tmpl_id else [])",
  domain: [
    '&',
    ...of_company_id.domain,
    '|',
    ['product_tmpl_id', '=', false],
    ['product_tmpl_id', '=', { field_product_tmpl_id: {} }]
  ]
}

const product_of_company_id_and_product_tmpl_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('product_tmpl_id', '=', product_tmpl_id)] if product_tmpl_id else [])",
  domain: [
    '&',
    ...of_company_id.domain,
    '|',
    ['product_tmpl_id', '=', false],
    ['product_tmpl_id', '=', { field_product_tmpl_id: {} }]
  ]
}

const sale_product_id = {
  // domain="[('sale_ok', '=', True), '|', ('company_id', '=', False), ('company_id', '=', company_id)]"

  str: "[('sale_ok', '=', True)]",
  domain: [
    ['sale_ok', '=', true]
    // '|',
    // ['company_id', '=', false],
    // ['company_id', '=', { field_company_id: {} }]
  ]
}

const sale_product_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('sale_ok', '=', True)])",
  domain: ['&', ...of_company_id.domain, ['sale_ok', '=', true]]
}

const stock_product_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('type', 'in', ['product', 'consu'])])",
  domain: [...of_company_id.domain, ['type', 'in', ['product', 'consu']]]
}

const stock_product_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('type', 'in', ['product', 'consu'])])",
  domain: [...of_company_id.domain, ['type', 'in', ['product', 'consu']]]
}

const mrp_product_id11 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + (['&', ('product_tmpl_id', '=', product_tmpl_id), ('type', 'in', ['product', 'consu'])])",
  domain: [
    '&',
    ...of_company_id.domain,
    '&',
    ['product_tmpl_id', '=', { field_product_tmpl_id: {} }],
    ['type', 'in', ['product', 'consu']]
  ]
}

const stock_product_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('type', '!=', 'service')])",
  domain: [...of_company_id.domain, ['type', '!=', 'service']]
}

const stock_product_id22 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('type', '!=', 'service')])",
  domain: [...of_company_id.domain, ['type', '!=', 'service']]
}

const stock_product_id3 = {
  str: "[('type', 'in', ['product', 'consu'])]",
  domain: [['type', 'in', ['product', 'consu']]]
}

const product_uom_id = {
  str: "[('category_id', '=', product_uom_category_id)]",
  domain: [['category_id', '=', { field_product_uom_category_id: {} }]]
}

const product_of_attribute_id = {
  str: "[('attribute_id', '=', attribute_id)]",
  domain: [['attribute_id', '=', { field_attribute_id: {} }]]
}

const sale_product_packaging_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('sales', '=', True), ('product_id','=',product_id)])",
  domain: [
    ...of_company_id.domain,
    ['sales', '=', true],
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const sale_product_packaging_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('sales', '=', True), ('product_id','=',product_id)])",
  domain: [
    ...of_company_id.domain,
    ['sales', '=', true],
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const purchase_product_packaging_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('purchase', '=', True), ('product_id', '=', product_id)])",
  domain: [
    ...of_company_id.domain,
    ['purchase', '=', true],
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const purchase_product_packaging_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('purchase', '=', True), ('product_id', '=', product_id)])",
  domain: [
    '&',
    ...of_company_id.domain,
    ['purchase', '=', true],
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const stock_product_packaging_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('product_id', '=', product_id)])",
  domain: [
    ...of_company_id.domain,
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const stock_product_packaging_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('product_id', '=', product_id)])",
  domain: [
    ...of_company_id.domain,
    ['product_id', '=', { field_product_id: {} }]
  ]
}

const inbound_payment_method_line_ids = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('payment_type', '=', 'inbound')])",
  domain: [...of_company_id.domain, ['payment_type', '=', 'inbound']]
}

const inbound_payment_method_line_ids1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('payment_type', '=', 'inbound')])",
  domain: [...of_company_id.domain, ['payment_type', '=', 'inbound']]
}

const outbound_payment_method_line_ids = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('payment_type', '=', 'outbound')])",
  domain: [...of_company_id.domain, ['payment_type', '=', 'outbound']]
}

const outbound_payment_method_line_ids1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('payment_type', '=', 'outbound')])",
  domain: [...of_company_id.domain, ['payment_type', '=', 'outbound']]
}

const payment_method_id = {
  str: "[('payment_type', '=?', payment_type), ('id', 'in', available_payment_method_ids)]",
  domain: [
    ['payment_type', '=?', { field_payment_type: {} }],
    ['id', 'in', { field_available_payment_method_ids: {} }]
  ]
}

const payment_method_line_id = {
  str: "[('id', 'in', available_payment_method_line_ids)]",
  domain: [['id', 'in', { field_available_payment_method_line_ids: {} }]]
}

const account_is_active = {
  str: "['&', ('deprecated', '=', False), ('account_type', 'not in', ('asset_receivable','liability_payable','asset_cash','liability_credit_card','off_balance'))]",
  domain: [
    '&',
    ['deprecated', '=', false],
    [
      'account_type',
      'not in',
      [
        'asset_receivable',
        'liability_payable',
        'asset_cash',
        'liability_credit_card',
        'off_balance'
      ]
    ]
  ]
}

const account_is_active_of_company_id_as_parent = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False), ('account_type', '!=', 'off_balance')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'off_balance']
  ]
}

const account_is_active_of_company_id_as_parent1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False), ('account_type', '!=', 'off_balance')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'off_balance']
  ]
}

const account_is_active_of_company_id_as_parent2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False)])",
  domain: [...of_company_id_as_parent.domain, ['deprecated', '=', false]]
}

const account_is_active_of_company_id_as_parent3 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False)])",
  domain: [...of_company_id_as_parent.domain, ['deprecated', '=', false]]
}

const default_account_id_of_company_id_as_parent = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False),'|', ('account_type', '=', default_account_type), ('account_type', 'not in', ('asset_receivable', 'liability_payable'))])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    '|',
    ['account_type', '=', { field_default_account_type: {} }],
    ['account_type', 'not in', ['asset_receivable', 'liability_payable']]
  ]
}

const default_account_id_of_company_id_as_parent1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False),'|', ('account_type', '=', default_account_type), ('account_type', 'not in', ('asset_receivable', 'liability_payable'))])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    '|',
    ['account_type', '=', { field_default_account_type: {} }],
    ['account_type', 'not in', ['asset_receivable', 'liability_payable']]
  ]
}

const suspense_account_id_of_company_id_as_parent = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False), ('account_type', '=', 'asset_current')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'asset_current']
  ]
}

const suspense_account_id_of_company_id_as_parent1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False), ('account_type', '=', 'asset_current')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'asset_current']
  ]
}

const payment_account_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False), '|', ('account_type', 'in', ('asset_current', 'liability_current')), ('id', '=', parent.default_account_id)])",

  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    '|',
    ['account_type', 'in', ['asset_current', 'liability_current']],
    ['id', '=', { field_parent_default_account_id: {} }]
  ]
}

const payment_account_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False), '|', ('account_type', 'in', ('asset_current', 'liability_current')), ('id', '=', parent.default_account_id)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    '|',
    ['account_type', 'in', ['asset_current', 'liability_current']],
    ['id', '=', { field_parent_default_account_id: {} }]
  ]
}

const profit_account_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False),                 ('account_type', 'in', ('income', 'income_other'))])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', 'in', ['income', 'income_other']]
  ]
}

const profit_account_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False),                 ('account_type', 'in', ('income', 'income_other'))])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', 'in', ['income', 'income_other']]
  ]
}

const loss_account_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('deprecated', '=', False),                 ('account_type', '=', 'expense')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'expense']
  ]
}

const loss_account_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('deprecated', '=', False),                 ('account_type', '=', 'expense')])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['deprecated', '=', false],
    ['account_type', '=', 'expense']
  ]
}

const bank_account_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('partner_id','=', company_partner_id)])",
  domain: [
    ...of_company_id.domain,
    ['partner_id', '=', { field_company_partner_id: {} }]
  ]
}

const bank_account_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('partner_id','=', company_partner_id)])",
  domain: [
    ...of_company_id.domain,
    ['partner_id', '=', { field_company_partner_id: {} }]
  ]
}

const property_account_payable_id = {
  str: "[('account_type', '=', 'liability_payable'), ('deprecated', '=', False)]",
  domain: [
    ['account_type', '=', 'liability_payable'],
    ['deprecated', '=', false]
  ]
}

const property_account_receivable_id = {
  str: "[('account_type', '=', 'asset_receivable'), ('deprecated', '=', False)]",
  domain: [
    ['account_type', '=', 'asset_receivable'],
    ['deprecated', '=', false]
  ]
}

const journal_id_in_move = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('id', 'in', suitable_journal_ids)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['id', 'in', { field_suitable_journal_ids: {} }]
  ]
}

const journal_id_in_move1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('id', 'in', suitable_journal_ids)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['id', 'in', { field_suitable_journal_ids: {} }]
  ]
}

const journal_id_in_move_line = {
  str: "[('id', 'in', suitable_journal_ids)]",
  domain: [['id', 'in', { field_suitable_journal_ids: {} }]]
}

const partner_bank_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('id', 'in', available_partner_bank_ids)])",
  domain: [
    ...of_company_id.domain,
    ['id', 'in', { field_available_partner_bank_ids: {} }]
  ]
}

const partner_bank_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('id', 'in', available_partner_bank_ids)])",
  domain: [
    ...of_company_id.domain,
    ['id', 'in', { field_available_partner_bank_ids: {} }]
  ]
}

const destination_journal_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('type', 'in', ('bank','cash')), ('id', '!=', journal_id)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['type', 'in', ['bank', 'cash']],
    ['id', '!=', { field_journal_id: {} }]
  ]
}

const destination_journal_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('type', 'in', ('bank','cash')), ('id', '!=', journal_id)])",
  domain: [
    ...of_company_id_as_parent.domain,
    ['type', 'in', ['bank', 'cash']],
    ['id', '!=', { field_journal_id: {} }]
  ]
}

const sale_taxes_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or ['|', ('company_id', '=', False), ('company_id', 'parent_of', [''])]) + ([('type_tax_use', '=', 'sale')])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'parent_of', [{ field_company_id: {} }]],
    ['type_tax_use', '=', 'sale']
  ]
}

const sale_taxes_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'parent_of', [company_id])] or []) + ([('type_tax_use', '=', 'sale')])",
  domain: [...of_company_id_as_parent.domain, ['type_tax_use', '=', 'sale']]
}

const sale_order_cancel_template_id = {
  str: "[('model', '=', render_model)]",
  domain: [['model', '=', { field_render_model: {} }]]
}

const property_stock_customer = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or [('company_id', '=', False)]) + (['|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const property_stock_customer1 = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or []) + (['|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const responsible_id = {
  str: "(allowed_company_ids[0] and [('company_ids', 'in', [allowed_company_ids[0]])] or []) + ([])",
  domain: [['company_ids', 'in', { session_current_company_id: {} }]]
}

const property_stock_production = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or [('company_id', '=', False)]) + ([('usage', '=', 'production'), '|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],

    ['usage', '=', 'production'],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const property_stock_production1 = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or []) + ([('usage', '=', 'production'), '|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],

    ['usage', '=', 'production'],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const property_stock_inventory = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or [('company_id', '=', False)]) + ([('usage', '=', 'inventory'), '|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],
    ['usage', '=', 'inventory'],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const property_stock_inventory1 = {
  str: "(allowed_company_ids[0] and ['|', ('company_id', '=', False), ('company_id', 'in', [allowed_company_ids[0]])] or []) + ([('usage', '=', 'inventory'), '|', ('company_id', '=', False), ('company_id', '=', allowed_company_ids[0])])",
  domain: [
    '|',
    ['company_id', '=', false],
    ['company_id', 'in', [{ session_current_company_id: {} }]],
    ['usage', '=', 'inventory'],
    '|',
    ['company_id', '=', false],
    ['company_id', '=', { session_current_company_id: {} }]
  ]
}

const view_location_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('usage', '=', 'view'), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    ['usage', '=', 'view'],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const view_location_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('usage', '=', 'view'), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    ['usage', '=', 'view'],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const not_view_location_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('usage', '!=', 'view')])",
  domain: [...of_company_id.domain, ['usage', '!=', 'view']]
}

const not_view_location_id1 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('usage', '!=', 'view')])",
  domain: [...of_company_id.domain, ['usage', '!=', 'view']]
}

const lot_stock_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('usage', '=', 'internal'), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    ['usage', '=', 'internal'],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const internal_location_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('usage','=','internal')])",
  domain: [...of_company_id.domain, ['usage', '=', 'internal']]
}

const lot_stock_id2 = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or []) + ([('usage', '=', 'internal'), ('company_id', '=', company_id)])",
  domain: [
    ...of_company_id.domain,
    ['usage', '=', 'internal'],
    ['company_id', '=', { field_company_id: {} }]
  ]
}

const mrp_operation_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('id', 'in', allowed_operation_ids)])",

  domain: [
    ...of_company_id.domain,
    ['id', 'in', { field_allowed_operation_ids: {} }]
  ]
}

const bom_product_template_attribute_value_ids = {
  str: "[('id', 'in', possible_bom_product_template_attribute_value_ids)]",
  domain: [
    [
      'id',
      'in',
      { field_possible_bom_product_template_attribute_value_ids: {} }
    ]
  ]
}

const mrp_picking_type_id = {
  str: "(company_id and ['|', ('company_id', '=', False), ('company_id', 'in', [company_id])] or [('company_id', '=', False)]) + ([('code', '=', 'mrp_operation')])",
  domain: [...of_company_id.domain, ['code', '=', 'mrp_operation']]
}

export const domain_map = {
  [state_of_country_id.str]: state_of_country_id.domain,
  [state_of_country.str]: state_of_country.domain,
  [hr_state_of_country_id.str]: hr_state_of_country_id.domain,

  [hr_bank_account_id.str]: hr_bank_account_id.domain,

  [of_company_id.str]: of_company_id.domain,
  [of_company_id0.str]: of_company_id0.domain,
  [of_company_id1.str]: of_company_id1.domain,

  [of_company_id2.str]: of_company_id2.domain,
  [of_company_id3.str]: of_company_id3.domain,

  [of_company_id_as_parent.str]: of_company_id_as_parent.domain,
  [of_company_id_as_parent1.str]: of_company_id_as_parent1.domain,
  [of_company_id_as_parent2.str]: of_company_id_as_parent2.domain,

  [of_company_id_as_parent_and_company_id.str]:
    of_company_id_as_parent_and_company_id.domain,

  [user_id_in_crm.str]: user_id_in_crm.domain,
  [member_ids_in_crm.str]: member_ids_in_crm.domain,

  [payment_partner_id.str]: payment_partner_id.domain,
  [payment_partner_id1.str]: payment_partner_id1.domain,

  [sale_partner_id.str]: sale_partner_id.domain,
  [sale_partner_invoice_id.str]: sale_partner_invoice_id.domain,

  [supplierinfo_product_id.str]: supplierinfo_product_id.domain,

  [product_of_company_id_and_product_tmpl_id.str]:
    product_of_company_id_and_product_tmpl_id.domain,

  [sale_product_id.str]: sale_product_id.domain,
  [sale_product_id2.str]: sale_product_id2.domain,

  [stock_product_id.str]: stock_product_id.domain,
  [stock_product_id1.str]: stock_product_id1.domain,
  [mrp_product_id11.str]: mrp_product_id11.domain,

  [stock_product_id2.str]: stock_product_id2.domain,
  [stock_product_id22.str]: stock_product_id22.domain,

  [stock_product_id3.str]: stock_product_id3.domain,

  [product_uom_id.str]: product_uom_id.domain,
  [product_of_attribute_id.str]: product_of_attribute_id.domain,
  [sale_product_packaging_id.str]: sale_product_packaging_id.domain,
  [sale_product_packaging_id2.str]: sale_product_packaging_id2.domain,

  [purchase_product_packaging_id.str]: purchase_product_packaging_id.domain,
  [purchase_product_packaging_id2.str]: purchase_product_packaging_id2.domain,

  [stock_product_packaging_id.str]: stock_product_packaging_id.domain,
  [stock_product_packaging_id1.str]: stock_product_packaging_id1.domain,

  [inbound_payment_method_line_ids.str]: inbound_payment_method_line_ids.domain,
  [inbound_payment_method_line_ids1.str]:
    inbound_payment_method_line_ids1.domain,

  [outbound_payment_method_line_ids.str]:
    outbound_payment_method_line_ids.domain,
  [outbound_payment_method_line_ids1.str]:
    outbound_payment_method_line_ids1.domain,

  [payment_method_id.str]: payment_method_id.domain,

  [payment_method_line_id.str]: payment_method_line_id.domain,

  [account_is_active.str]: account_is_active.domain,

  [account_is_active_of_company_id_as_parent.str]:
    account_is_active_of_company_id_as_parent.domain,
  [account_is_active_of_company_id_as_parent1.str]:
    account_is_active_of_company_id_as_parent1.domain,

  [account_is_active_of_company_id_as_parent2.str]:
    account_is_active_of_company_id_as_parent2.domain,

  [account_is_active_of_company_id_as_parent3.str]:
    account_is_active_of_company_id_as_parent3.domain,

  [default_account_id_of_company_id_as_parent.str]:
    default_account_id_of_company_id_as_parent.domain,
  [default_account_id_of_company_id_as_parent1.str]:
    default_account_id_of_company_id_as_parent1.domain,

  [suspense_account_id_of_company_id_as_parent.str]:
    suspense_account_id_of_company_id_as_parent.domain,
  [suspense_account_id_of_company_id_as_parent1.str]:
    suspense_account_id_of_company_id_as_parent1.domain,

  [payment_account_id.str]: payment_account_id.domain,
  [payment_account_id1.str]: payment_account_id1.domain,
  [profit_account_id.str]: profit_account_id.domain,
  [profit_account_id1.str]: profit_account_id1.domain,

  [loss_account_id.str]: loss_account_id.domain,
  [loss_account_id1.str]: loss_account_id1.domain,

  [bank_account_id.str]: bank_account_id.domain,
  [bank_account_id1.str]: bank_account_id1.domain,

  [property_account_payable_id.str]: property_account_payable_id.domain,
  [property_account_receivable_id.str]: property_account_receivable_id.domain,

  [journal_id_in_move.str]: journal_id_in_move.domain,
  [journal_id_in_move1.str]: journal_id_in_move1.domain,

  [journal_id_in_move_line.str]: journal_id_in_move_line.domain,

  [partner_bank_id.str]: partner_bank_id.domain,
  [partner_bank_id1.str]: partner_bank_id1.domain,

  [destination_journal_id.str]: destination_journal_id.domain,
  [destination_journal_id1.str]: destination_journal_id1.domain,

  [sale_order_cancel_template_id.str]: sale_order_cancel_template_id.domain,

  [sale_taxes_id.str]: sale_taxes_id.domain,
  [sale_taxes_id1.str]: sale_taxes_id1.domain,

  [property_stock_customer.str]: property_stock_customer.domain,
  [property_stock_customer1.str]: property_stock_customer1.domain,

  [responsible_id.str]: responsible_id.domain,
  [property_stock_production.str]: property_stock_production.domain,
  [property_stock_production1.str]: property_stock_production1.domain,

  [property_stock_inventory.str]: property_stock_inventory.domain,
  [property_stock_inventory1.str]: property_stock_inventory1.domain,

  [view_location_id.str]: view_location_id.domain,
  [view_location_id2.str]: view_location_id2.domain,

  [not_view_location_id.str]: not_view_location_id.domain,
  [not_view_location_id1.str]: not_view_location_id1.domain,

  [lot_stock_id.str]: lot_stock_id.domain,
  [lot_stock_id2.str]: lot_stock_id2.domain,
  [internal_location_id.str]: internal_location_id.domain,

  [mrp_operation_id.str]: mrp_operation_id.domain,
  [bom_product_template_attribute_value_ids.str]:
    bom_product_template_attribute_value_ids.domain,
  [mrp_picking_type_id.str]: mrp_picking_type_id.domain,

  aaaa: {}
}
